package com.leetcode.周赛.第236场;

/**
 * @author: xiaomi
 * @date: 2021/4/11
 * @description: 5727. 找出游戏的获胜者
 */
public class B_5727_找出游戏的获胜者 {
    static B_5727_找出游戏的获胜者 action = new B_5727_找出游戏的获胜者();

    public static void main(String[] args) {
        test1();
        test2();
        test3();
    }

    static void test1() {
        //

        //System.out.println("res = " + res);
    }

    static void test2() {
        //

        //System.out.println("res = " + res);
    }

    static void test3() {
        //

        //System.out.println("res = " + res);
    }

    /**
     * 这是经典的链表问题
     *
     * @param n
     * @param k
     * @return
     */
    public int findTheWinner(int n, int k) {
        // 记录上一次最后被删除数的位置
        int lastPos = 0;
        for (int i = 2; i <= n; i++) {
            // 由于lastPos可能会大于i所以这里需要取模
            lastPos = (lastPos + k) % i;
        }
        return lastPos + 1;
    }
}
